1. Field of the Invention
The present invention relates generally to integrated circuit chips. In particular, the present invention relates to manufacturing and testing of integrated circuit chips. Still more particularly, the present invention relates to automatically identifying multiple combinations of operational and non-operational components on integrated circuit chips with a single part number.
2. Description of the Related Art
Currently, an integrated circuit chip or a part is designed to include one or more sub-components. A sub-component is a component that performs a specific function on the integrated circuit chip. Examples of the sub-components include processor cores, cache slices, and chip modules. Advances in chip technology enable an increased number of transistors per chip. This is exploited in the design of integrated circuit chips with placing more sub-components on a single chip. Increasing the transistor count of a chip, however, also increased the chance of defective parts. Thus, only a small number of integrated circuit chips pass the testing process without any problem being identified.
Other integrated circuit chips may contain one or more sub-components that are defective. These integrated circuits are known as partial good parts. In most cases, the partial good parts are either scrapped or reworked. The problem with scrapping or reworking partial good parts is obviously associated scrapping cost, limitations to the supply chain, and the ability to ship products. In other instances, partial good parts may still be used in products to reduce costs. In those instances, different combinations of operational and non-operational sub-components are formed and each combination is assigned a unique part number.
For example, in a chip that has two processor cores, processor core A and processor core B, three part numbers are assigned. The first part number is assigned to a first combination where both processor cores are functional. The second part number is assigned to a second combination where processor core A is defective, but processor core B is functional. The third part number is assigned to a third combination where processor core A is functional, but processor core B is defective.
The problem of assigning a unique part number to different combinations of operational and non-operational sub-components is the high number of part numbers that are generated as a result. This problem causes substantial administrative overhead, including overhead in the ordering process or customer service inventory. In addition, assigning each combination with a unique part number does not scale well for future designs where a higher number of replicated sub-components are anticipated, for example, four core chips. Furthermore, assignment of unique part numbers complicates or restricts higher-level assembly part numbers that use more than one partial-good part.
Alternative to assigning unique part numbers to different combinations of operational and non-operational sub-components, information of the defective sub-components may be stored on other persistent storage in a system. One example of a persistent storage is a database that is separate from the part. The separate database is used in various stages of the testing and manufacturing process for storing data. The problem with storing information of defective sub-components in a separate database is that in cases where the part or assembly is moved to a different system, an additional mechanism is needed in order to transfer defective sub-component information to the new system or assembly. In addition, a connection is required between the system using the part and the database in order to update or retrieve data. This transfer of defective sub-component information is error-prone and may require a significant amount of infrastructure to be in place for handling the information.